#ifndef __Skygen_SkyboxGenerator_h__
#define __Skygen_SkyboxGenerator_h__

#include "Core/VecMath.h"

#include "GfxDriver/Shader.h"

namespace Orca {

	class ISkyboxGenerator {

	public:
		virtual ~ISkyboxGenerator() {}

		virtual Str getVertexProgramFilename() = 0;
		virtual Str getFragmentProgramFilename() = 0;
		virtual vec4 computeSkyboxColor(const vec3 &dir, int size) = 0;
		virtual void updateShaderConstants(Shader *shader) = 0;
		virtual void step(float dt) = 0;
	};
}

#endif	// __Skygen_SkyboxGenerator_h__